package com.jie.langlangmall.dao;

import com.jie.langlangmall.model.UmsAdminRoleRelation;
import com.jie.langlangmall.model.UmsResource;
import com.jie.langlangmall.model.UmsRole;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Author Jie
 * @Date 2024/11/21 22:46
 * @Email 3217998214@qq.com
 * @Description 后台用户与角色关系管理自定义Dao
 */
public interface UmsAdminRoleRelationDao {

    /**
     * 获取用户可访问的所有资源
     *
     * @param adminId
     * @return
     */
    List<UmsResource> getResourceList(@Param("adminId") Long adminId);

    /**
     * 获取指定用户对应的角色
     *
     * @param adminId
     * @return
     */
    List<UmsRole> getRoleList(@Param("adminId") Long adminId);

    /**
     * 批量插入用户与角色关系
     *
     * @param list
     */
    void insertList(@Param("list") List<UmsAdminRoleRelation> list);

    /**
     * 取资源相关用户ID列表
     *
     * @param resourceId
     * @return
     */
    List<Long> getAdminIdList(@Param("resourceId") Long resourceId);

}
